Page({
  data: {
    questions: [],
    statusBarHeight: 0,
    navbarHeight: 0
  },

  onLoad() {
    // 获取系统信息，用于适配状态栏高度
    const systemInfo = wx.getSystemInfoSync()
    const statusBarHeight = systemInfo.statusBarHeight || 0
    // 导航栏总高度 = 状态栏高度 + 88rpx (导航栏内容高度，约44px)
    const navbarHeight = statusBarHeight + 44
    this.setData({
      statusBarHeight: statusBarHeight,
      navbarHeight: navbarHeight
    })
    this.loadQuestions()
  },

  loadQuestions() {
    const questions = [
      {
        id: 1,
        question: '如何申请退款？',
        answer: '如需申请退款，请进入订单详情页面，点击"申请退款"按钮，填写退款原因并提交申请。退款申请提交后，我们会在1-2个工作日内审核，审核通过后，退款将在3-5个工作日内原路退回到您的支付账户。',
        expanded: true
      },
      {
        id: 2,
        question: '退款需要多长时间？',
        answer: '退款审核一般在1-2个工作日内完成。审核通过后，退款将在3-5个工作日内原路退回到您的支付账户。具体到账时间以银行或支付平台处理时间为准。',
        expanded: false
      },
      {
        id: 3,
        question: '什么情况下可以申请退款？',
        answer: '以下情况可以申请退款：1. 订单未出行前；2. 因不可抗力导致无法出行；3. 产品服务与描述严重不符；4. 其他符合退款条件的情况。具体退款规则请查看订单详情页面的退款说明。',
        expanded: false
      },
      {
        id: 4,
        question: '退款会扣除手续费吗？',
        answer: '根据退款原因和退款时间，可能会收取一定的手续费。具体手续费标准如下：1. 出行前7天以上申请退款，不收取手续费；2. 出行前3-7天申请退款，收取订单金额的10%作为手续费；3. 出行前3天内申请退款，收取订单金额的20%作为手续费。',
        expanded: false
      },
      {
        id: 5,
        question: '如何修改订单信息？',
        answer: '如需修改订单信息（如出行日期、出行人数等），请进入订单详情页面，点击"修改订单"按钮进行操作。需要注意的是，部分信息修改可能会产生差价，具体以页面提示为准。如无法在线修改，请联系客服协助处理。',
        expanded: false
      },
      {
        id: 6,
        question: '可以部分退款吗？',
        answer: '部分产品支持部分退款。如果您预订的是多人套餐，可以申请部分人员退款。具体是否支持部分退款，请查看订单详情页面的退款说明，或联系客服咨询。',
        expanded: false
      },
      {
        id: 7,
        question: '退款后优惠券会退还吗？',
        answer: '如果订单使用了优惠券，退款后优惠券会按以下规则处理：1. 如果优惠券仍在有效期内，会自动退还到您的账户；2. 如果优惠券已过期，将无法退还；3. 部分特殊优惠券可能不支持退还，具体以优惠券使用规则为准。',
        expanded: false
      }
    ]
    
    this.setData({ questions })
  },

  toggleQuestion(e) {
    const id = e.currentTarget.dataset.id
    const questions = this.data.questions.map(item => {
      if (item.id === id) {
        return { ...item, expanded: !item.expanded }
      }
      return item
    })
    this.setData({ questions })
  },

  goBack() {
    // 详情页面应该返回到帮助中心页面
    const pages = getCurrentPages()
    if (pages.length > 1) {
      const prevPage = pages[pages.length - 2]
      if (prevPage && prevPage.route === 'pages/help-center/help-center') {
        wx.navigateBack()
      } else {
        // 如果上一页不是帮助中心，直接跳转到帮助中心
        wx.navigateTo({
          url: '/pages/help-center/help-center'
        })
      }
    } else {
      wx.navigateTo({
        url: '/pages/help-center/help-center'
      })
    }
  }
})

